home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1995 August: Tool Chest / Dev.CD Aug 95 TC / Dev.CD Aug 95 TC.toast / New System Software Extensions / QuickDraw™ GX 1.1.2 / Programming Stuff / QuickDraw™ GX Interfaces & Libs / CIncludes / PrintingManager.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-04-10  |  27.4 KB  |  1,075 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        PrintingManager.h
  3.  
  4.     Copyright:    © 1984-1995 by Apple Computer, Inc., all rights reserved.
  5.  
  6.     WARNING
  7.     This file was auto generated by the interfacer tool. Modifications
  8.     must be made to the master file.
  9.  
  10. */
  11.  
  12. #ifndef __PRINTINGMANAGER__
  13. #define __PRINTINGMANAGER__
  14.  
  15. #ifndef __PRINTING__
  16. #include <Printing.h>
  17. /*    #include <Quickdraw.h>                                        */
  18. /*        #include <Types.h>                                        */
  19. /*            #include <ConditionalMacros.h>                        */
  20. /*            #include <MixedMode.h>                                */
  21. /*                #include <Traps.h>                                */
  22. /*        #include <QuickdrawText.h>                                */
  23. /*            #include <IntlResources.h>                            */
  24. /*    #include <Dialogs.h>                                        */
  25. /*        #include <Windows.h>                                    */
  26. /*            #include <Events.h>                                    */
  27. /*                #include <OSUtils.h>                            */
  28. /*            #include <Controls.h>                                */
  29. /*                #include <Menus.h>                                */
  30. /*        #include <TextEdit.h>                                    */
  31. #endif
  32.  
  33. #ifndef __FILES__
  34. #include <Files.h>
  35. /*    #include <SegLoad.h>                                        */
  36. #endif
  37.  
  38. #ifndef __COLLECTIONMANAGER__
  39. #include <Collections.h>
  40. #endif
  41.  
  42. #ifndef __PRINTINGERRORS__
  43. #include <PrintingErrors.h>
  44. #endif
  45.  
  46. #ifndef graphicsTypesIncludes
  47. #include <graphics types.h>
  48. /*    #include "math types.h"                                        */
  49. #endif
  50.  
  51. #ifndef fontTypesIncludes
  52. #include <font types.h>
  53. #endif
  54.  
  55. #ifndef scalerTypeIncludes
  56. #include <scaler types.h>
  57. /*    #include "sfnt types.h"                                        */
  58. #endif
  59.  
  60. #define gestaltGXPrintingMgrVersion 'pmgr'
  61.  
  62. #define gestaltGXVersion 'qdgx'
  63.  
  64. typedef struct gxPrivatePrinterRecord *gxPrinter;
  65.  
  66. typedef struct gxPrivateJobRecord *gxJob;
  67.  
  68. typedef struct gxPrivateFormatRecord *gxFormat;
  69.  
  70. typedef struct gxPrivatePaperTypeRecord *gxPaperType;
  71.  
  72. typedef struct gxPrivatePrintFileRecord *gxPrintFile;
  73.  
  74. typedef Boolean gxLoopStatus;
  75.  
  76. enum  {
  77.     gxStopLooping                = false,
  78.     gxKeepLooping                = true
  79. };
  80.  
  81. typedef pascal gxLoopStatus (*gxViewDeviceProc)(gxViewDevice, void *refCon);
  82.  
  83. typedef pascal gxLoopStatus (*gxFormatProc)(gxFormat, void *refCon);
  84.  
  85. typedef pascal gxLoopStatus (*gxPaperTypeProc)(gxPaperType, void *refCon);
  86.  
  87. typedef pascal OSErr (*gxPrintingFlattenProc)(long size, void *data, void *refCon);
  88.  
  89. typedef short gxCollectionCategory;
  90.  
  91. enum  {
  92.     gxNoCollectionCategory        = (gxCollectionCategory)0x0000,
  93.     gxOutputDriverCategory        = (gxCollectionCategory)0x0001,
  94.     gxFormattingDriverCategory    = (gxCollectionCategory)0x0002,
  95.     gxDriverVolatileCategory    = (gxCollectionCategory)0x0004,
  96.     gxVolatileOutputDriverCategory = gxOutputDriverCategory + gxDriverVolatileCategory,
  97.     gxVolatileFormattingDriverCategory = gxFormattingDriverCategory + gxDriverVolatileCategory
  98. };
  99.  
  100. enum  {
  101.     gxPrintingTagID                = -28672
  102. };
  103.  
  104. enum  {
  105.     gxJobTag                    = 'job '
  106. };
  107.  
  108. enum  {
  109.     gxPrintJobUrgent            = 0x00000001,
  110.     gxPrintJobAtTime            = 0x00000002,
  111.     gxPrintJobASAP                = 0x00000003
  112. };
  113.  
  114. enum  {
  115.     gxPrintJobHoldingBit        = 0x00001000
  116. };
  117.  
  118. enum  {
  119.     gxPrintJobHolding            = (gxPrintJobHoldingBit + gxPrintJobASAP),
  120.     gxPrintJobHoldingAtTime        = (gxPrintJobHoldingBit + gxPrintJobAtTime),
  121.     gxPrintJobHoldingUrgent        = (gxPrintJobHoldingBit + gxPrintJobUrgent)
  122. };
  123.  
  124. enum  {
  125.     gxNoPrintTimeAlert            = 0,
  126.     gxAlertBefore                = 1,
  127.     gxAlertAfter                = 2,
  128.     gxAlertBothTimes            = 3
  129. };
  130.  
  131. enum  {
  132.     gxThirtySeconds                = 1800,
  133.     gxTwoMinutes                = 7200
  134. };
  135.  
  136. #if defined(powerc) || defined (__powerc)
  137. #pragma options align=mac68k
  138. #endif
  139. struct gxJobInfo {
  140.     long                        numPages;
  141.     long                        priority;
  142.     unsigned long                timeToPrint;
  143.     long                        jobTimeout;
  144.     long                        firstPageToPrint;
  145.     short                        jobAlert;
  146.     Str31                        appName;
  147.     Str31                        documentName;
  148.     Str31                        userName;
  149. };
  150. #if defined(powerc) || defined(__powerc)
  151. #pragma options align=reset
  152. #endif
  153.  
  154. typedef struct gxJobInfo gxJobInfo;
  155.  
  156. enum  {
  157.     gxCollationTag                = 'sort'
  158. };
  159.  
  160. #if defined(powerc) || defined (__powerc)
  161. #pragma options align=mac68k
  162. #endif
  163. struct gxCollationInfo {
  164.     Boolean                        collation;
  165. };
  166. #if defined(powerc) || defined(__powerc)
  167. #pragma options align=reset
  168. #endif
  169.  
  170. typedef struct gxCollationInfo gxCollationInfo;
  171.  
  172. enum  {
  173.     gxCopiesTag                    = 'copy'
  174. };
  175.  
  176. #if defined(powerc) || defined (__powerc)
  177. #pragma options align=mac68k
  178. #endif
  179. struct gxCopiesInfo {
  180.     long                        copies;
  181. };
  182. #if defined(powerc) || defined(__powerc)
  183. #pragma options align=reset
  184. #endif
  185.  
  186. typedef struct gxCopiesInfo gxCopiesInfo;
  187.  
  188. enum  {
  189.     gxPageRangeTag                = 'rang'
  190. };
  191.  
  192. enum  {
  193.     gxDefaultPageRange            = (char)0,
  194.     gxReplacePageRange            = (char)1,
  195.     gxCustomizePageRange        = (char)2
  196. };
  197.  
  198. #if defined(powerc) || defined (__powerc)
  199. #pragma options align=mac68k
  200. #endif
  201. struct gxSimplePageRangeInfo {
  202.     char                        optionChosen;
  203.     Boolean                        printAll;
  204.     long                        fromPage;
  205.     long                        toPage;
  206. };
  207. #if defined(powerc) || defined(__powerc)
  208. #pragma options align=reset
  209. #endif
  210.  
  211. typedef struct gxSimplePageRangeInfo gxSimplePageRangeInfo;
  212.  
  213. #if defined(powerc) || defined (__powerc)
  214. #pragma options align=mac68k
  215. #endif
  216. struct gxPageRangeInfo {
  217.     gxSimplePageRangeInfo        simpleRange;
  218.     Str31                        fromString;
  219.     Str31                        toString;
  220.     long                        minFromPage;
  221.     long                        maxToPage;
  222.     char                        replaceString[1];
  223. };
  224. #if defined(powerc) || defined(__powerc)
  225. #pragma options align=reset
  226. #endif
  227.  
  228. typedef struct gxPageRangeInfo gxPageRangeInfo;
  229.  
  230. enum  {
  231.     gxQualityTag                = 'qual'
  232. };
  233.  
  234. #if defined(powerc) || defined (__powerc)
  235. #pragma options align=mac68k
  236. #endif
  237. struct gxQualityInfo {
  238.     Boolean                        disableQuality;
  239.     short                        defaultQuality;
  240.     short                        currentQuality;
  241.     short                        qualityCount;
  242.     char                        qualityNames[1];
  243. };
  244. #if defined(powerc) || defined(__powerc)
  245. #pragma options align=reset
  246. #endif
  247.  
  248. typedef struct gxQualityInfo gxQualityInfo;
  249.  
  250. enum  {
  251.     gxFileDestinationTag        = 'dest'
  252. };
  253.  
  254. #if defined(powerc) || defined (__powerc)
  255. #pragma options align=mac68k
  256. #endif
  257. struct gxFileDestinationInfo {
  258.     Boolean                        toFile;
  259. };
  260. #if defined(powerc) || defined(__powerc)
  261. #pragma options align=reset
  262. #endif
  263.  
  264. typedef struct gxFileDestinationInfo gxFileDestinationInfo;
  265.  
  266. enum  {
  267.     gxFileLocationTag            = 'floc'
  268. };
  269.  
  270. #if defined(powerc) || defined (__powerc)
  271. #pragma options align=mac68k
  272. #endif
  273. struct gxFileLocationInfo {
  274.     FSSpec                        fileSpec;
  275. };
  276. #if defined(powerc) || defined(__powerc)
  277. #pragma options align=reset
  278. #endif
  279.  
  280. typedef struct gxFileLocationInfo gxFileLocationInfo;
  281.  
  282. enum  {
  283.     gxFileFormatTag                = 'ffmt'
  284. };
  285.  
  286. #if defined(powerc) || defined (__powerc)
  287. #pragma options align=mac68k
  288. #endif
  289. struct gxFileFormatInfo {
  290.     Str31                        fileFormatName;
  291. };
  292. #if defined(powerc) || defined(__powerc)
  293. #pragma options align=reset
  294. #endif
  295.  
  296. typedef struct gxFileFormatInfo gxFileFormatInfo;
  297.  
  298. enum  {
  299.     gxFileFontsTag                = 'incf'
  300. };
  301.  
  302. enum  {
  303.     gxIncludeNoFonts            = (char)1,
  304.     gxIncludeAllFonts            = (char)2,
  305.     gxIncludeNonStandardFonts    = (char)3
  306. };
  307.  
  308. #if defined(powerc) || defined (__powerc)
  309. #pragma options align=mac68k
  310. #endif
  311. struct gxFileFontsInfo {
  312.     char                        includeFonts;
  313. };
  314. #if defined(powerc) || defined(__powerc)
  315. #pragma options align=reset
  316. #endif
  317.  
  318. typedef struct gxFileFontsInfo gxFileFontsInfo;
  319.  
  320. enum  {
  321.     gxPaperFeedTag                = 'feed'
  322. };
  323.  
  324. #if defined(powerc) || defined (__powerc)
  325. #pragma options align=mac68k
  326. #endif
  327. struct gxPaperFeedInfo {
  328.     Boolean                        autoFeed;
  329. };
  330. #if defined(powerc) || defined(__powerc)
  331. #pragma options align=reset
  332. #endif
  333.  
  334. typedef struct gxPaperFeedInfo gxPaperFeedInfo;
  335.  
  336. typedef long gxTrayIndex;
  337.  
  338. enum  {
  339.     gxTrayFeedTag                = 'tray'
  340. };
  341.  
  342. #if defined(powerc) || defined (__powerc)
  343. #pragma options align=mac68k
  344. #endif
  345. struct gxTrayFeedInfo {
  346.     gxTrayIndex                    feedTrayIndex;
  347.     Boolean                        manualFeedThisPage;
  348. };
  349. #if defined(powerc) || defined(__powerc)
  350. #pragma options align=reset
  351. #endif
  352.  
  353. typedef struct gxTrayFeedInfo gxTrayFeedInfo;
  354.  
  355. enum  {
  356.     gxManualFeedTag                = 'manf'
  357. };
  358.  
  359. #if defined(powerc) || defined (__powerc)
  360. #pragma options align=mac68k
  361. #endif
  362. struct gxManualFeedInfo {
  363.     long                        numPaperTypeNames;
  364.     Str31                        paperTypeNames[1];
  365. };
  366. #if defined(powerc) || defined(__powerc)
  367. #pragma options align=reset
  368. #endif
  369.  
  370. typedef struct gxManualFeedInfo gxManualFeedInfo;
  371.  
  372. enum  {
  373.     gxNormalMappingTag            = 'nmap'
  374. };
  375.  
  376. #if defined(powerc) || defined (__powerc)
  377. #pragma options align=mac68k
  378. #endif
  379. struct gxNormalMappingInfo {
  380.     Boolean                        normalPaperMapping;
  381. };
  382. #if defined(powerc) || defined(__powerc)
  383. #pragma options align=reset
  384. #endif
  385.  
  386. typedef struct gxNormalMappingInfo gxNormalMappingInfo;
  387.  
  388. enum  {
  389.     gxSpecialMappingTag            = 'smap'
  390. };
  391.  
  392. enum  {
  393.     gxRedirectPages                = (char)1,
  394.     gxScalePages                = (char)2,
  395.     gxTilePages                    = (char)3
  396. };
  397.  
  398. #if defined(powerc) || defined (__powerc)
  399. #pragma options align=mac68k
  400. #endif
  401. struct gxSpecialMappingInfo {
  402.     char                        specialMapping;
  403. };
  404. #if defined(powerc) || defined(__powerc)
  405. #pragma options align=reset
  406. #endif
  407.  
  408. typedef struct gxSpecialMappingInfo gxSpecialMappingInfo;
  409.  
  410. enum  {
  411.     gxTrayMappingTag            = 'tmap'
  412. };
  413.  
  414. #if defined(powerc) || defined (__powerc)
  415. #pragma options align=mac68k
  416. #endif
  417. struct gxTrayMappingInfo {
  418.     gxTrayIndex                    mapPaperToTray;
  419. };
  420. #if defined(powerc) || defined(__powerc)
  421. #pragma options align=reset
  422. #endif
  423.  
  424. typedef struct gxTrayMappingInfo gxTrayMappingInfo;
  425.  
  426. enum  {
  427.     gxPaperMappingTag            = 'pmap'
  428. };
  429.  
  430. enum  {
  431.     gxPrintPanelTag                = 'ppan'
  432. };
  433.  
  434. #if defined(powerc) || defined (__powerc)
  435. #pragma options align=mac68k
  436. #endif
  437. struct gxPrintPanelInfo {
  438.     Str31                        startPanelName;
  439. };
  440. #if defined(powerc) || defined(__powerc)
  441. #pragma options align=reset
  442. #endif
  443.  
  444. typedef struct gxPrintPanelInfo gxPrintPanelInfo;
  445.  
  446. enum  {
  447.     gxFormatPanelTag            = 'fpan'
  448. };
  449.  
  450. #if defined(powerc) || defined (__powerc)
  451. #pragma options align=mac68k
  452. #endif
  453. struct gxFormatPanelInfo {
  454.     Str31                        startPanelName;
  455. };
  456. #if defined(powerc) || defined(__powerc)
  457. #pragma options align=reset
  458. #endif
  459.  
  460. typedef struct gxFormatPanelInfo gxFormatPanelInfo;
  461.  
  462. enum  {
  463.     gxTranslatedDocumentTag        = 'trns'
  464. };
  465.  
  466. #if defined(powerc) || defined (__powerc)
  467. #pragma options align=mac68k
  468. #endif
  469. struct gxTranslatedDocumentInfo {
  470.     long                        translatorInfo;
  471. };
  472. #if defined(powerc) || defined(__powerc)
  473. #pragma options align=reset
  474. #endif
  475.  
  476. typedef struct gxTranslatedDocumentInfo gxTranslatedDocumentInfo;
  477.  
  478. enum  {
  479.     gxPaperTypeLockTag            = 'ptlk'
  480. };
  481.  
  482. #if defined(powerc) || defined (__powerc)
  483. #pragma options align=mac68k
  484. #endif
  485. struct gxPaperTypeLockInfo {
  486.     Boolean                        paperTypeLocked;
  487. };
  488. #if defined(powerc) || defined(__powerc)
  489. #pragma options align=reset
  490. #endif
  491.  
  492. typedef struct gxPaperTypeLockInfo gxPaperTypeLockInfo;
  493.  
  494. enum  {
  495.     gxOrientationTag            = 'layo'
  496. };
  497.  
  498. enum  {
  499.     gxPortraitLayout            = (char)0,
  500.     gxLandscapeLayout            = (char)1,
  501.     gxRotatedPortraitLayout        = (char)2,
  502.     gxRotatedLandscapeLayout    = (char)3
  503. };
  504.  
  505. #if defined(powerc) || defined (__powerc)
  506. #pragma options align=mac68k
  507. #endif
  508. struct gxOrientationInfo {
  509.     char                        orientation;
  510. };
  511. #if defined(powerc) || defined(__powerc)
  512. #pragma options align=reset
  513. #endif
  514.  
  515. typedef struct gxOrientationInfo gxOrientationInfo;
  516.  
  517. enum  {
  518.     gxScalingTag                = 'scal'
  519. };
  520.  
  521. #if defined(powerc) || defined (__powerc)
  522. #pragma options align=mac68k
  523. #endif
  524. struct gxScalingInfo {
  525.     Fixed                        horizontalScaleFactor;
  526.     Fixed                        verticalScaleFactor;
  527.     short                        minScaling;
  528.     short                        maxScaling;
  529. };
  530. #if defined(powerc) || defined(__powerc)
  531. #pragma options align=reset
  532. #endif
  533.  
  534. typedef struct gxScalingInfo gxScalingInfo;
  535.  
  536. enum  {
  537.     gxDirectModeTag                = 'dirm'
  538. };
  539.  
  540. #if defined(powerc) || defined (__powerc)
  541. #pragma options align=mac68k
  542. #endif
  543. struct gxDirectModeInfo {
  544.     Boolean                        directModeOn;
  545. };
  546. #if defined(powerc) || defined(__powerc)
  547. #pragma options align=reset
  548. #endif
  549.  
  550. typedef struct gxDirectModeInfo gxDirectModeInfo;
  551.  
  552. enum  {
  553.     gxFormatHalftoneTag            = 'half'
  554. };
  555.  
  556. #if defined(powerc) || defined (__powerc)
  557. #pragma options align=mac68k
  558. #endif
  559. struct gxFormatHalftoneInfo {
  560.     long                        numHalftones;
  561.     gxHalftone                    halftones[1];
  562. };
  563. #if defined(powerc) || defined(__powerc)
  564. #pragma options align=reset
  565. #endif
  566.  
  567. typedef struct gxFormatHalftoneInfo gxFormatHalftoneInfo;
  568.  
  569. enum  {
  570.     gxInvertPageTag                = 'invp'
  571. };
  572.  
  573. #if defined(powerc) || defined (__powerc)
  574. #pragma options align=mac68k
  575. #endif
  576. struct gxInvertPageInfo {
  577.     char                        padByte;
  578.     Boolean                        invert;
  579. };
  580. #if defined(powerc) || defined(__powerc)
  581. #pragma options align=reset
  582. #endif
  583.  
  584. typedef struct gxInvertPageInfo gxInvertPageInfo;
  585.  
  586. enum  {
  587.     gxFlipPageHorizontalTag        = 'flph'
  588. };
  589.  
  590. #if defined(powerc) || defined (__powerc)
  591. #pragma options align=mac68k
  592. #endif
  593. struct gxFlipPageHorizontalInfo {
  594.     char                        padByte;
  595.     Boolean                        flipHorizontal;
  596. };
  597. #if defined(powerc) || defined(__powerc)
  598. #pragma options align=reset
  599. #endif
  600.  
  601. typedef struct gxFlipPageHorizontalInfo gxFlipPageHorizontalInfo;
  602.  
  603. enum  {
  604.     gxFlipPageVerticalTag        = 'flpv'
  605. };
  606.  
  607. #if defined(powerc) || defined (__powerc)
  608. #pragma options align=mac68k
  609. #endif
  610. struct gxFlipPageVerticalInfo {
  611.     char                        padByte;
  612.     Boolean                        flipVertical;
  613. };
  614. #if defined(powerc) || defined(__powerc)
  615. #pragma options align=reset
  616. #endif
  617.  
  618. typedef struct gxFlipPageVerticalInfo gxFlipPageVerticalInfo;
  619.  
  620. enum  {
  621.     gxPreciseBitmapsTag            = 'pbmp'
  622. };
  623.  
  624. #if defined(powerc) || defined (__powerc)
  625. #pragma options align=mac68k
  626. #endif
  627. struct gxPreciseBitmapInfo {
  628.     Boolean                        preciseBitmaps;
  629. };
  630. #if defined(powerc) || defined(__powerc)
  631. #pragma options align=reset
  632. #endif
  633.  
  634. typedef struct gxPreciseBitmapInfo gxPreciseBitmapInfo;
  635.  
  636. enum  {
  637.     gxBaseTag                    = 'base'
  638. };
  639.  
  640. enum  {
  641.     gxUnknownBase                = 0,
  642.     gxUSLetterBase                = 1,
  643.     gxUSLegalBase                = 2,
  644.     gxA4LetterBase                = 3,
  645.     gxB5LetterBase                = 4,
  646.     gxTabloidBase                = 5
  647. };
  648.  
  649. #if defined(powerc) || defined (__powerc)
  650. #pragma options align=mac68k
  651. #endif
  652. struct gxBaseInfo {
  653.     long                        baseType;
  654. };
  655. #if defined(powerc) || defined(__powerc)
  656. #pragma options align=reset
  657. #endif
  658.  
  659. typedef struct gxBaseInfo gxBaseInfo;
  660.  
  661. enum  {
  662.     gxCreatorTag                = 'crea'
  663. };
  664.  
  665. enum  {
  666.     gxSysPaperType                = 'sypt',
  667.     gxUserPaperType                = 'uspt'
  668. };
  669.  
  670. #if defined(powerc) || defined (__powerc)
  671. #pragma options align=mac68k
  672. #endif
  673. struct gxCreatorInfo {
  674.     OSType                        creator;
  675. };
  676. #if defined(powerc) || defined(__powerc)
  677. #pragma options align=reset
  678. #endif
  679.  
  680. typedef struct gxCreatorInfo gxCreatorInfo;
  681.  
  682. enum  {
  683.     gxUnitsTag                    = 'unit'
  684. };
  685.  
  686. enum  {
  687.     gxPicas                        = (char)0,
  688.     gxMMs                        = (char)1,
  689.     gxInches                    = (char)2
  690. };
  691.  
  692. #if defined(powerc) || defined (__powerc)
  693. #pragma options align=mac68k
  694. #endif
  695. struct gxUnitsInfo {
  696.     char                        units;
  697. };
  698. #if defined(powerc) || defined(__powerc)
  699. #pragma options align=reset
  700. #endif
  701.  
  702. typedef struct gxUnitsInfo gxUnitsInfo;
  703.  
  704. enum  {
  705.     gxFlagsTag                    = 'flag'
  706. };
  707.  
  708. enum  {
  709.     gxOldPaperTypeFlag            = 0x00800000,
  710.     gxNewPaperTypeFlag            = 0x00400000,
  711.     gxOldAndNewPaperTypeFlag    = 0x00C00000,
  712.     gxDefaultPaperTypeFlag        = 0x00100000
  713. };
  714.  
  715. #if defined(powerc) || defined (__powerc)
  716. #pragma options align=mac68k
  717. #endif
  718. struct gxFlagsInfo {
  719.     long                        flags;
  720. };
  721. #if defined(powerc) || defined(__powerc)
  722. #pragma options align=reset
  723. #endif
  724.  
  725. typedef struct gxFlagsInfo gxFlagsInfo;
  726.  
  727. enum  {
  728.     gxCommentTag                = 'cmnt'
  729. };
  730.  
  731. #if defined(powerc) || defined (__powerc)
  732. #pragma options align=mac68k
  733. #endif
  734. struct gxCommentInfo {
  735.     Str255                        comment;
  736. };
  737. #if defined(powerc) || defined(__powerc)
  738. #pragma options align=reset
  739. #endif
  740.  
  741. typedef struct gxCommentInfo gxCommentInfo;
  742.  
  743. enum  {
  744.     gxPenTableTag                = 'pent'
  745. };
  746.  
  747. enum  {
  748.     gxDeviceUnits                = 0,
  749.     gxMMUnits                    = 1,
  750.     gxInchesUnits                = 2
  751. };
  752.  
  753. enum  {
  754.     gxPenNotLoaded                = -1
  755. };
  756.  
  757. #if defined(powerc) || defined (__powerc)
  758. #pragma options align=mac68k
  759. #endif
  760. struct gxPenTableEntry {
  761.     Str31                        penName;
  762.     gxColor                        penColor;
  763.     Fixed                        penThickness;
  764.     short                        penUnits;
  765.     short                        penPosition;
  766. };
  767. #if defined(powerc) || defined(__powerc)
  768. #pragma options align=reset
  769. #endif
  770.  
  771. typedef struct gxPenTableEntry gxPenTableEntry;
  772.  
  773. #if defined(powerc) || defined (__powerc)
  774. #pragma options align=mac68k
  775. #endif
  776. struct gxPenTable {
  777.     long                        numPens;
  778.     gxPenTableEntry                pens[1];
  779. };
  780. #if defined(powerc) || defined(__powerc)
  781. #pragma options align=reset
  782. #endif
  783.  
  784. typedef struct gxPenTable gxPenTable, *gxPenTablePtr, **gxPenTableHdl;
  785.  
  786. typedef long gxDialogResult;
  787.  
  788. enum  {
  789.     gxCancelSelected            = (gxDialogResult)0,
  790.     gxOKSelected                = (gxDialogResult)1,
  791.     gxRevertSelected            = (gxDialogResult)2
  792. };
  793.  
  794. #if defined(powerc) || defined (__powerc)
  795. #pragma options align=mac68k
  796. #endif
  797. struct gxEditMenuRecord {
  798.     short                        editMenuID;
  799.     short                        cutItem;
  800.     short                        copyItem;
  801.     short                        pasteItem;
  802.     short                        clearItem;
  803.     short                        undoItem;
  804. };
  805. #if defined(powerc) || defined(__powerc)
  806. #pragma options align=reset
  807. #endif
  808.  
  809. typedef struct gxEditMenuRecord gxEditMenuRecord;
  810.  
  811. typedef long gxQueryType;
  812.  
  813. enum  {
  814.     gxGetJobFormatLineConstraintQuery = (gxQueryType)0,
  815.     gxGetJobFormatFontsQuery    = (gxQueryType)1,
  816.     gxGetJobFormatFontCommonStylesQuery = (gxQueryType)2,
  817.     gxGetJobFormatFontConstraintQuery = (gxQueryType)3,
  818.     gxSetStyleJobFormatCommonStyleQuery = (gxQueryType)4
  819. };
  820.  
  821. typedef OSType gxJobFormatMode;
  822.  
  823. enum  {
  824.     gxGraphicsJobFormatMode        = (gxJobFormatMode)'grph',
  825.     gxTextJobFormatMode            = (gxJobFormatMode)'text',
  826.     gxPostScriptJobFormatMode    = (gxJobFormatMode)'post'
  827. };
  828.  
  829. #if defined(powerc) || defined (__powerc)
  830. #pragma options align=mac68k
  831. #endif
  832. struct gxJobFormatModeTable {
  833.     long                        numModes;
  834.     gxJobFormatMode                modes[1];
  835. };
  836. #if defined(powerc) || defined(__powerc)
  837. #pragma options align=reset
  838. #endif
  839.  
  840. typedef struct gxJobFormatModeTable gxJobFormatModeTable, *gxJobFormatModeTablePtr, **gxJobFormatModeTableHdl;
  841.  
  842. enum  {
  843.     gxConstraintRange            = -1
  844. };
  845.  
  846. #if defined(powerc) || defined (__powerc)
  847. #pragma options align=mac68k
  848. #endif
  849. struct gxPositionConstraintTable {
  850.     gxPoint                        phase;
  851.     gxPoint                        offset;
  852.     long                        numSizes;
  853.     Fixed                        sizes[1];
  854. };
  855. #if defined(powerc) || defined(__powerc)
  856. #pragma options align=reset
  857. #endif
  858.  
  859. typedef struct gxPositionConstraintTable gxPositionConstraintTable, *gxPositionConstraintTablePtr, **gxPositionConstraintTableHdl;
  860.  
  861. #if defined(powerc) || defined (__powerc)
  862. #pragma options align=mac68k
  863. #endif
  864. struct gxStyleNameTable {
  865.     long                        numStyleNames;
  866.     Str255                        styleNames[1];
  867. };
  868. #if defined(powerc) || defined(__powerc)
  869. #pragma options align=reset
  870. #endif
  871.  
  872. typedef struct gxStyleNameTable gxStyleNameTable, *gxStyleNameTablePtr, **gxStyleNameTableHdl;
  873.  
  874. #if defined(powerc) || defined (__powerc)
  875. #pragma options align=mac68k
  876. #endif
  877. struct gxFontTable {
  878.     long                        numFonts;
  879.     gxFont                        fonts[1];
  880. };
  881. #if defined(powerc) || defined(__powerc)
  882. #pragma options align=reset
  883. #endif
  884.  
  885. typedef struct gxFontTable gxFontTable, *gxFontTablePtr, **gxFontTableHdl;
  886.  
  887. #define GXPUBLICAPIGLUE(selector) {0x203C, 0x0000, selector, 0xABFE}
  888.  
  889. #ifdef __cplusplus
  890. extern "C" {
  891. #endif
  892.  
  893. extern pascal OSErr GXInitPrinting(void)
  894.  FOURWORDINLINE(0x203C, 0x0000, 0, 0xABFE);
  895. extern pascal OSErr GXExitPrinting(void)
  896.  FOURWORDINLINE(0x203C, 0x0000, 1, 0xABFE);
  897. extern pascal OSErr GXNewJob(gxJob *)
  898.  FOURWORDINLINE(0x203C, 0x0000, 2, 0xABFE);
  899. extern pascal OSErr GXDisposeJob(gxJob)
  900.  FOURWORDINLINE(0x203C, 0x0000, 3, 0xABFE);
  901. extern pascal void GXFlattenJob(gxJob, gxPrintingFlattenProc, void *)
  902.  FOURWORDINLINE(0x203C, 0x0000, 4, 0xABFE);
  903. extern pascal gxJob GXUnflattenJob(gxJob, gxPrintingFlattenProc, void *)
  904.  FOURWORDINLINE(0x203C, 0x0000, 5, 0xABFE);
  905. extern pascal Handle GXFlattenJobToHdl(gxJob, Handle)
  906.  FOURWORDINLINE(0x203C, 0x0000, 6, 0xABFE);
  907. extern pascal gxJob GXUnflattenJobFromHdl(gxJob, Handle)
  908.  FOURWORDINLINE(0x203C, 0x0000, 7, 0xABFE);
  909. extern pascal void GXInstallApplicationOverride(gxJob, short messageID, void *override)
  910.  FOURWORDINLINE(0x203C, 0x0000, 8, 0xABFE);
  911. extern pascal gxFormat GXNewFormat(gxJob)
  912.  FOURWORDINLINE(0x203C, 0x0000, 9, 0xABFE);
  913. extern pascal void GXDisposeFormat(gxFormat)
  914.  FOURWORDINLINE(0x203C, 0x0000, 10, 0xABFE);
  915. extern pascal gxPaperType GXNewPaperType(gxJob, Str31 name, gxRectangle *pageSize, gxRectangle *paperSize)
  916.  FOURWORDINLINE(0x203C, 0x0000, 11, 0xABFE);
  917. extern pascal void GXDisposePaperType(gxPaperType)
  918.  FOURWORDINLINE(0x203C, 0x0000, 12, 0xABFE);
  919. extern pascal gxPaperType GXGetNewPaperType(gxJob, short resID)
  920.  FOURWORDINLINE(0x203C, 0x0000, 13, 0xABFE);
  921. extern pascal OSErr GXGetJobError(gxJob)
  922.  FOURWORDINLINE(0x203C, 0x0000, 14, 0xABFE);
  923. extern pascal void GXSetJobError(gxJob, OSErr)
  924.  FOURWORDINLINE(0x203C, 0x0000, 15, 0xABFE);
  925. extern pascal gxDialogResult GXJobDefaultFormatDialog(gxJob, gxEditMenuRecord *)
  926.  FOURWORDINLINE(0x203C, 0x0000, 16, 0xABFE);
  927. extern pascal gxDialogResult GXJobPrintDialog(gxJob, gxEditMenuRecord *)
  928.  FOURWORDINLINE(0x203C, 0x0000, 17, 0xABFE);
  929. extern pascal gxDialogResult GXFormatDialog(gxFormat, gxEditMenuRecord *, StringPtr title)
  930.  FOURWORDINLINE(0x203C, 0x0000, 18, 0xABFE);
  931. extern pascal gxFormat GXGetJobFormat(gxJob, long whichFormat)
  932.  FOURWORDINLINE(0x203C, 0x0000, 19, 0xABFE);
  933. extern pascal gxJob GXGetFormatJob(gxFormat)
  934.  FOURWORDINLINE(0x203C, 0x0000, 20, 0xABFE);
  935. extern pascal gxPaperType GXGetFormatPaperType(gxFormat)
  936.  FOURWORDINLINE(0x203C, 0x0000, 21, 0xABFE);
  937. extern pascal void GXGetFormatDimensions(gxFormat, gxRectangle *pageSize, gxRectangle *paperSize)
  938.  FOURWORDINLINE(0x203C, 0x0000, 22, 0xABFE);
  939. extern pascal void GXGetJobPageRange(gxJob theJob, long *firstPage, long *lastPage)
  940.  FOURWORDINLINE(0x203C, 0x0000, 23, 0xABFE);
  941. extern pascal void GXStartJob(gxJob, StringPtr docName, long pageCount)
  942.  FOURWORDINLINE(0x203C, 0x0000, 24, 0xABFE);
  943. extern pascal void GXPrintPage(gxJob, long pageNumber, gxFormat, gxShape thePage)
  944.  FOURWORDINLINE(0x203C, 0x0000, 25, 0xABFE);
  945. extern pascal Boolean GXStartPage(gxJob, long pageNumber, gxFormat, long numViewPorts, gxViewPort *viewPortList)
  946.  FOURWORDINLINE(0x203C, 0x0000, 26, 0xABFE);
  947. extern pascal void GXFinishPage(gxJob)
  948.  FOURWORDINLINE(0x203C, 0x0000, 27, 0xABFE);
  949. extern pascal void GXFinishJob(gxJob)
  950.  FOURWORDINLINE(0x203C, 0x0000, 28, 0xABFE);
  951. extern pascal Collection GXGetJobCollection(gxJob)
  952.  FOURWORDINLINE(0x203C, 0x0000, 29, 0xABFE);
  953. extern pascal void *GXGetJobRefCon(gxJob)
  954.  FOURWORDINLINE(0x203C, 0x0000, 30, 0xABFE);
  955. extern pascal void GXSetJobRefCon(gxJob, void *refCon)
  956.  FOURWORDINLINE(0x203C, 0x0000, 31, 0xABFE);
  957. extern pascal gxJob GXCopyJob(gxJob srcJob, gxJob dstJob)
  958.  FOURWORDINLINE(0x203C, 0x0000, 32, 0xABFE);
  959. extern pascal void GXSelectJobFormattingPrinter(gxJob, Str31 printerName)
  960.  FOURWORDINLINE(0x203C, 0x0000, 33, 0xABFE);
  961. extern pascal void GXSelectJobOutputPrinter(gxJob, Str31 printerName)
  962.  FOURWORDINLINE(0x203C, 0x0000, 34, 0xABFE);
  963. extern pascal void GXForEachJobFormatDo(gxJob, gxFormatProc, void *refCon)
  964.  FOURWORDINLINE(0x203C, 0x0000, 35, 0xABFE);
  965. extern pascal long GXCountJobFormats(gxJob)
  966.  FOURWORDINLINE(0x203C, 0x0000, 36, 0xABFE);
  967. extern pascal Boolean GXUpdateJob(gxJob)
  968.  FOURWORDINLINE(0x203C, 0x0000, 37, 0xABFE);
  969. extern pascal void GXConvertPrintRecord(gxJob, THPrint)
  970.  FOURWORDINLINE(0x203C, 0x0000, 38, 0xABFE);
  971. extern pascal gxPrinter GXGetJobFormattingPrinter(gxJob)
  972.  FOURWORDINLINE(0x203C, 0x0000, 39, 0xABFE);
  973. extern pascal gxPrinter GXGetJobOutputPrinter(gxJob)
  974.  FOURWORDINLINE(0x203C, 0x0000, 40, 0xABFE);
  975. extern pascal gxPrinter GXGetJobPrinter(gxJob)
  976.  FOURWORDINLINE(0x203C, 0x0000, 41, 0xABFE);
  977. extern pascal gxJob GXGetPrinterJob(gxPrinter)
  978.  FOURWORDINLINE(0x203C, 0x0000, 42, 0xABFE);
  979. extern pascal void GXForEachPrinterViewDeviceDo(gxPrinter, gxViewDeviceProc, void *refCon)
  980.  FOURWORDINLINE(0x203C, 0x0000, 43, 0xABFE);
  981. extern pascal long GXCountPrinterViewDevices(gxPrinter)
  982.  FOURWORDINLINE(0x203C, 0x0000, 44, 0xABFE);
  983. extern pascal gxViewDevice GXGetPrinterViewDevice(gxPrinter, long whichViewDevice)
  984.  FOURWORDINLINE(0x203C, 0x0000, 45, 0xABFE);
  985. extern pascal void GXSelectPrinterViewDevice(gxPrinter, long whichViewDevice)
  986.  FOURWORDINLINE(0x203C, 0x0000, 46, 0xABFE);
  987. extern pascal void GXGetPrinterName(gxPrinter, Str31)
  988.  FOURWORDINLINE(0x203C, 0x0000, 47, 0xABFE);
  989. extern pascal OSType GXGetPrinterType(gxPrinter)
  990.  FOURWORDINLINE(0x203C, 0x0000, 48, 0xABFE);
  991. extern pascal void GXGetPrinterDriverName(gxPrinter, Str31)
  992.  FOURWORDINLINE(0x203C, 0x0000, 49, 0xABFE);
  993. extern pascal OSType GXGetPrinterDriverType(gxPrinter)
  994.  FOURWORDINLINE(0x203C, 0x0000, 50, 0xABFE);
  995. extern pascal Collection GXGetFormatCollection(gxFormat)
  996.  FOURWORDINLINE(0x203C, 0x0000, 51, 0xABFE);
  997. extern pascal void GXChangedFormat(gxFormat)
  998.  FOURWORDINLINE(0x203C, 0x0000, 52, 0xABFE);
  999. extern pascal gxFormat GXCopyFormat(gxFormat srcFormat, gxFormat dstFormat)
  1000.  FOURWORDINLINE(0x203C, 0x0000, 53, 0xABFE);
  1001. extern pascal gxFormat GXCloneFormat(gxFormat)
  1002.  FOURWORDINLINE(0x203C, 0x0000, 54, 0xABFE);
  1003. extern pascal long GXCountFormatOwners(gxFormat)
  1004.  FOURWORDINLINE(0x203C, 0x0000, 55, 0xABFE);
  1005. extern pascal void GXGetFormatMapping(gxFormat, gxMapping *)
  1006.  FOURWORDINLINE(0x203C, 0x0000, 56, 0xABFE);
  1007. extern pascal gxShape GXGetFormatForm(gxFormat, gxShape *mask)
  1008.  FOURWORDINLINE(0x203C, 0x0000, 57, 0xABFE);
  1009. extern pascal void GXSetFormatForm(gxFormat, gxShape form, gxShape mask)
  1010.  FOURWORDINLINE(0x203C, 0x0000, 58, 0xABFE);
  1011. extern pascal void GXSetAvailableJobFormatModes(gxJob, gxJobFormatModeTableHdl)
  1012.  FOURWORDINLINE(0x203C, 0x0000, 59, 0xABFE);
  1013. extern pascal gxJobFormatMode GXGetPreferredJobFormatMode(gxJob, Boolean *directOnly)
  1014.  FOURWORDINLINE(0x203C, 0x0000, 60, 0xABFE);
  1015. extern pascal gxJobFormatMode GXGetJobFormatMode(gxJob)
  1016.  FOURWORDINLINE(0x203C, 0x0000, 61, 0xABFE);
  1017. extern pascal void GXSetJobFormatMode(gxJob, gxJobFormatMode)
  1018.  FOURWORDINLINE(0x203C, 0x0000, 62, 0xABFE);
  1019. extern pascal void GXJobFormatModeQuery(gxJob, gxQueryType, void *srcData, void *dstData)
  1020.  FOURWORDINLINE(0x203C, 0x0000, 63, 0xABFE);
  1021. extern pascal void GXEnableJobScalingPanel(gxJob, Boolean enabled)
  1022.  FOURWORDINLINE(0x203C, 0x0000, 64, 0xABFE);
  1023. extern pascal void GXGetJobPanelDimensions(gxJob, Rect *)
  1024.  FOURWORDINLINE(0x203C, 0x0000, 65, 0xABFE);
  1025. extern pascal long GXCountJobPaperTypes(gxJob, Boolean forFormatDevice)
  1026.  FOURWORDINLINE(0x203C, 0x0000, 66, 0xABFE);
  1027. extern pascal gxPaperType GXGetJobPaperType(gxJob, long whichPaperType, Boolean forFormatDevice, gxPaperType)
  1028.  FOURWORDINLINE(0x203C, 0x0000, 67, 0xABFE);
  1029. extern pascal void GXForEachJobPaperTypeDo(gxJob, gxPaperTypeProc, void *refCon, Boolean forFormattingPrinter)
  1030.  FOURWORDINLINE(0x203C, 0x0000, 68, 0xABFE);
  1031. extern pascal gxPaperType GXCopyPaperType(gxPaperType srcPaperType, gxPaperType dstPaperType)
  1032.  FOURWORDINLINE(0x203C, 0x0000, 69, 0xABFE);
  1033. extern pascal void GXGetPaperTypeName(gxPaperType, Str31)
  1034.  FOURWORDINLINE(0x203C, 0x0000, 70, 0xABFE);
  1035. extern pascal void GXGetPaperTypeDimensions(gxPaperType, gxRectangle *pageSize, gxRectangle *paperSize)
  1036.  FOURWORDINLINE(0x203C, 0x0000, 71, 0xABFE);
  1037. extern pascal gxJob GXGetPaperTypeJob(gxPaperType)
  1038.  FOURWORDINLINE(0x203C, 0x0000, 72, 0xABFE);
  1039. extern pascal Collection GXGetPaperTypeCollection(gxPaperType)
  1040.  FOURWORDINLINE(0x203C, 0x0000, 73, 0xABFE);
  1041. extern pascal gxPrintFile GXOpenPrintFile(gxJob, FSSpecPtr, char permission)
  1042.  FOURWORDINLINE(0x203C, 0x0000, 74, 0xABFE);
  1043. extern pascal void GXClosePrintFile(gxPrintFile)
  1044.  FOURWORDINLINE(0x203C, 0x0000, 75, 0xABFE);
  1045. extern pascal gxJob GXGetPrintFileJob(gxPrintFile)
  1046.  FOURWORDINLINE(0x203C, 0x0000, 76, 0xABFE);
  1047. extern pascal long GXCountPrintFilePages(gxPrintFile)
  1048.  FOURWORDINLINE(0x203C, 0x0000, 77, 0xABFE);
  1049. extern pascal void GXReadPrintFilePage(gxPrintFile, long pageNumber, long numViewPorts, gxViewPort *viewPortList, gxFormat *, gxShape *)
  1050.  FOURWORDINLINE(0x203C, 0x0000, 78, 0xABFE);
  1051. extern pascal void GXReplacePrintFilePage(gxPrintFile, long pageNumber, gxFormat, gxShape)
  1052.  FOURWORDINLINE(0x203C, 0x0000, 79, 0xABFE);
  1053. extern pascal void GXInsertPrintFilePage(gxPrintFile, long atPageNumber, gxFormat, gxShape)
  1054.  FOURWORDINLINE(0x203C, 0x0000, 80, 0xABFE);
  1055. extern pascal void GXDeletePrintFilePageRange(gxPrintFile, long fromPageNumber, long toPageNumber)
  1056.  FOURWORDINLINE(0x203C, 0x0000, 81, 0xABFE);
  1057. extern pascal void GXSavePrintFile(gxPrintFile, FSSpec *)
  1058.  FOURWORDINLINE(0x203C, 0x0000, 82, 0xABFE);
  1059. extern pascal long GXFindPrinterProfile(gxPrinter, void *searchData, long index, gxColorProfile *returnedProfile)
  1060.  FOURWORDINLINE(0x203C, 0x0000, 83, 0xABFE);
  1061. extern pascal long GXFindFormatProfile(gxFormat, void *searchData, long index, gxColorProfile *returnedProfile)
  1062.  FOURWORDINLINE(0x203C, 0x0000, 84, 0xABFE);
  1063. extern pascal void GXSetPrinterProfile(gxPrinter, gxColorProfile oldProfile, gxColorProfile newProfile)
  1064.  FOURWORDINLINE(0x203C, 0x0000, 85, 0xABFE);
  1065. extern pascal void GXSetFormatProfile(gxFormat, gxColorProfile oldProfile, gxColorProfile newProfile)
  1066.  FOURWORDINLINE(0x203C, 0x0000, 86, 0xABFE);
  1067. extern pascal void GXIdleJob(gxJob)
  1068.  FOURWORDINLINE(0x203C, 0x0000, 87, 0xABFE);
  1069. #ifdef __cplusplus
  1070. }
  1071. #endif
  1072.  
  1073. #endif
  1074.  
  1075.